שאלה בקשר לקוד מסוים.
בפונקציה make, מה השימוש של cost? מה הוא משנה בפונקציה? קראתי בphp.net ולא כל כך הבנתי.
בפונקציה check, למה הוא קלט את המערך options ולא עשה בו שימוש?
תודה רבה.
2 תשובות
השימוש של cost הוא פשוט. ככל שהמספר יותר גבוה - כך המעבד משקיע יותר זמן ביצירת ה hash. ככל שיותר גבוה כך יותר מאובטח, החסרון הוא בזמן ההמתנה של המשתמש ואותו דבר הפוך (אם המספר נמוך פחות מאובטח אך יותר מהיר). צריך להגיע לאיזון מסויים. המספר של ה cost צריך להיות בטווח של 4 עד 31.
המלצה שלי: תנסה לשאוף כמה שיותר גבוה - תנסה לעשות testים ותאזן בין האבטחה לבין זמן המתנת המשתמש. אני לא השתמשתי בפונקציה עדיין כך שאני לא יכול לומר לך מה 'מומלץ', אבל לפי דעתי אם תציב 10 אז יהיה בסדר גמור.
עריכה:
בנוגע לשאלה השניה (מצטער, פספסתי) - אני חושב שזאת טעות שלהם (או הכנה כלשהי לקוד עתידי, שכן הפונקציות האלו חדשות). לא רק שאין שימוש במערך בתוך הפונקציה, אלא גם שהפונקציה המוחזרת (password_verify) מקבלת שני ארגומנטים בלבד. אפשר פשוט להתעלם ולהמשיך כרגיל בקוד, שכן לא תהיה טעות תחביר גם אם לא תכניס את המערך כי הברירת מחדל הוא מערך ריק.